﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.ServiceModel.Web;
using System.Text;

namespace ERPServices
{
    // NOTE: You can use the "Rename" command on the "Refactor" menu to change the interface name "IService1" in both code and config file together.
    [ServiceContract]
    public interface IDAL
    {
        [OperationContract]
        GeneralObject GetObjects(String strTableName, String strQuery);

        [OperationContract]
        String Query(String strTableName, String strQuery);

        [OperationContract]
        string GetData(int value);

        [OperationContract]
        CompositeType GetDataUsingDataContract(CompositeType composite);

        // TODO: Add your service operations here

        [OperationContract]
        List<THE_LOAI> GetTHE_LOAI(String strTenDanhMuc);

        [OperationContract]
        CA_NHAN GetCA_NHAN(String CaNhanID);

        [OperationContract]
        List<CA_NHAN> GetCA_NHANs(String searchPatern);

        [OperationContract]
        HANG_HOA GetHANG_HOA(String HanghoaID);

        [OperationContract]
        List<HANG_HOA> GetHang_Hoas(String searchPatern);

        [OperationContract]
        CONG_TY GetCONG_TY(String CongTyID);

        [OperationContract]
        List<CONG_TY> GetCONG_TYs(String searchPatern);

        [OperationContract]
        List<PHIEU_NHAP> GetReceipts(String searchPatern);

        [OperationContract]
        PHIEU_NHAP GetReceipt(String ReceiptID);

        [OperationContract]
        List<CHI_TIET_PHIEU_NHAP_Extend> GetReceiptItems(String ReceiptID);


    }

    // Use a data contract as illustrated in the sample below to add composite types to service operations.
    [DataContract]
    public class CompositeType
    {
        bool boolValue = true;
        string stringValue = "Hello ";

        [DataMember]
        public bool BoolValue
        {
            get { return boolValue; }
            set { boolValue = value; }
        }

        [DataMember]
        public string StringValue
        {
            get { return stringValue; }
            set { stringValue = value; }
        }
    }
}
